[IA64] Fix allocate_rid_range()
authorAlex Williamson <alex.williamson@hp.com>
Fri, 11 May 2007 19:09:12 +0000 (13:09 -0600)
committerAlex Williamson <alex.williamson@hp.com>
Fri, 11 May 2007 19:09:12 +0000 (13:09 -0600)
Though there is a free ridblock_owner[], allocate_rid_range()
cannot allocate it.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
xen/arch/ia64/xen/regionreg.c

index 4b64bd99687c023b9bd3b9599fbf36649096eeca..c83a91a862d26bc9aac5606c51fc2cb0cdc85c1c 100644 (file)
@@ -157,9 +157,12 @@ int allocate_rid_range(struct domain *d, unsigned long ridbits)
        for (i = n_rid_blocks; i < MAX_RID_BLOCKS; i += n_rid_blocks) {
                if (ridblock_owner[i] == NULL) {
                        for (j = i; j < i + n_rid_blocks; ++j) {
-                               if (ridblock_owner[j])
+                               if (ridblock_owner[j]) {
+                                       ++j;
                                        break;
+                               }
                        }
+                       --j;
                        if (ridblock_owner[j] == NULL)
                                break;
                }